﻿using System;

namespace Elvex.Log
{
    public static class Log
    {
        #region Log.Error
        public static void Error(object message)
        {
            UnityEngine.Debug.LogError(message);
        }

        public static void Error(object message, UnityEngine.Object context)
        {
            UnityEngine.Debug.LogError(message, context);
        }

        public static void Error(UnityEngine.Object context, string format, params object[] args)
        {
            UnityEngine.Debug.LogErrorFormat(context, format, args);
        }

        public static void Error(string format, params object[] args)
        {
            UnityEngine.Debug.LogErrorFormat(format, args);
        }
        #endregion

        #region Log.Warning
        public static void Warning(object message)
        {
            UnityEngine.Debug.LogWarning(message);
        }

        public static void Warning(object message, UnityEngine.Object context)
        {
            UnityEngine.Debug.LogWarning(message, context);
        }

        public static void Warning(UnityEngine.Object context, string format, params object[] args)
        {
            UnityEngine.Debug.LogWarningFormat(context, format, args);
        }

        public static void Warning(string format, params object[] args)
        {
            UnityEngine.Debug.LogWarningFormat(format, args);
        }
        #endregion

        #region Log.Info
        public static void Info(object message)
        {
            UnityEngine.Debug.Log(message);
        }

        public static void Info(object message, UnityEngine.Object context)
        {
            UnityEngine.Debug.Log(message, context);
        }
        public static void Info(UnityEngine.Object context, string format, params object[] args)
        {
            UnityEngine.Debug.LogFormat(context, format, args);
        }

        public static void Info(string format, params object[] args)
        {
            UnityEngine.Debug.LogFormat(format, args);
        }
        #endregion

        #region Log.Debug
        public static void Debug(object message)
        {
            UnityEngine.Debug.Log(message);
        }
        
        public static void Debug(object message, UnityEngine.Object context)
        {
            UnityEngine.Debug.Log(message, context);
        }

        public static void Debug(UnityEngine.Object context, string format, params object[] args)
        {
            UnityEngine.Debug.LogFormat(context, format, args);
        }
        public static void Debug(string format, params object[] args)
        {
            UnityEngine.Debug.LogFormat(format, args);
        }
        #endregion
    }
}
